package com.cloud.pole.user.model.entity.account;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.validator.constraints.NotEmpty;

import lombok.Data;

/**
 * @author 
 */
@Table(name="user_account_type")
@Data
public class UserAccountType implements Serializable {
	/**
     * 是否可提现（0：否 1：是）
     */
	public static final int WITHDRAW_FLAG_NO = 0;
	public static final int WITHDRAW_FLAG_YES = 1;
	
    /**
     * 状态（1：有效 0：无效）
     */
	public static final int TYPE_STATUS_INVALID = 0;
	public static final int TYPE_STATUS_VALID = 1;

    
	 /**
     * 类型ID
     */
    @Id
    @Column(name="type_id")
    private Integer typeId;

    /**
     * 类型名称
     */
    @NotEmpty
    @Column(name="type_name")
    private String typeName;

    /**
     * 状态（1：有效 0：无效）
     */
    @NotEmpty
    @Column(name="type_status")
    private Integer typeStatus;

    /**
     * 创建时间
     */
    @Column(name="create_time")
    private Date createTime;

    /**
     * 说明
     */
    @Column(name="type_desc")
    private String typeDesc;

    /**
     * 是否可提现（0：否 1：是）
     */
    @Column(name="withdraw_flag")
    private Integer withdrawFlag;

    /**
     * 最小提现金额(单位0.01)
     */
    @NotEmpty
    @Column(name="min_withdraw")
    private Integer minWithdraw;

    /**
     * 最大提现金额(单位0.01)
     */
    @Column(name="max_withdraw")
    private Integer maxWithdraw;

    /**
     * 提现整数倍基数(单位0.01)
     */
    @Column(name="multiple_num_withdraw")
    private Integer multipleNumWithdraw;
    
    /**
        * 排序
     */
    @Column(name="order_level")
    private Integer orderLevel;
    
}